In a ubiquitous or distributed network environment, components, such as devices, services, software entities and/or applications, may reveal to each other contextual information about themselves (“metadata”). For example, IRDA™ and BlueTooth™ devices may reveal what type of device they are, such as a printer, PDA, laptop, etc. JINI™ services may reveal their location on a network. This metadata provides descriptive information that is usually intended for human consumption. Metadata is frequently “intrinsic” with respect to the component, meaning that the data is resident within or is managed by the component itself. Moreover, components typically provide the same intrinsic metadata to their clients. Thus, intrinsic metadata normally can only be modified by a system administrator (“SA”) or through reprogramming the component.
Often, however, people would like to impose or overlay additional or “extrinsic” metadata on top of the intrinsic metadata directly provided by the component. This extrinsic metadata could represent how a person describes a component, rather than how the component describes itself. For example, one may desire describing a particular printer service on a network as their “preferred printer.” This metadata is extrinsic, since it describes the person's relationship to the printer. Of course, this type of relationship most likely will vary from person to person. There are several ways to provide extrinsic metadata, such as using a centralized server that stores metadata keyed by client or person. The server in this example provides the extrinsic metadata to the clients or users. Another approach uses interconnected servers to provide clients with “views” of document properties. Here, the views for a particular document may yield different results depending upon which server a client is accessing to view the document metadata.
But in either case, clients must have access to one or more centralized servers to access the extrinsic metadata. These centralized servers may not be accessible in a distributed or peer-to-peer network setting, for instance, and thus the components will not be able to access extrinsic metadata. When servers are available, however, one may be concerned with privacy, and thus may not trust having their metadata stored at an external source. Furthermore, clients in a network setting may desire access to the same metadata that is available to others, which is not possible in existing systems that use multiple servers to maintain different metadata views for a single component.